package com.xmy.study.entity.response;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import scala.Int;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 课程表
 * </p>
 *
 * @author min
 * @since 2022-07-28
 */
@Data
public class Course implements Serializable {

    private static final long serialVersionUID = 1L;

    
    private Long id;

    /**
     * 课程名称
     */
    private String name;

    /**
     * 1精品课，2智能课，3刷题班
     */
    private Integer lessonType;

    /**
     * 年级id
     */
    private Integer yearClassId;

    /**
     * 课程类别
     */
    
    private Long courseTypeId;

    /**
     * 科目
     */
    private Long subjectsId;

    /**
     * 授课模式：班课，一对一（对于字典表）
     */
    private String teachingMode;

    /**
     * 开课校区类型:0指定校区，1全部校区
     */
    private Int openingSchoolType;

    /**
     * 指定校区ids
     */
    private String schoolIds;

    /**
     * 收费模式，1按课时收费，2按时间收费，3按期收费（对应字典表）
     */
    private Integer chargeMode;

    /**
     * 备注
     */
    private String remark;

    /**
     * 课程状态，1开售，0未开售
     */
    private Integer status;

    /**
     * 创建人id
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createdId;

    @TableLogic
    private Integer deleted;

    /**
     * created_at
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdAt;

    /**
     * updated_at
     */
    @TableField(fill = FieldFill.UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updatedAt;

    /**
     * deleted_at
     */
    private LocalDateTime deletedAt;

    /**
     * 季度num值
     */
    private Integer quarterNum;


    /**
     * 开课校区数量,(暂时不需要，字段做废)
     */
    @TableField(exist = false)
    private Integer openSchoolCount;

    /**
     * 开课班级数量
     */
    @TableField(exist = false)
    private Integer openGradeCount;

    /**
     * 课程类别名
     */
    @TableField(exist = false)
    private String courseTypeName;

    /**
     * 等级
     */
    private String levelStr;

    @TableField(exist = false)
    private Integer yearPart;


}
